# Get active users in conversation

Returns users who have posted in this conversation thread, including their avatars, reply counts, and last post time. Works for any post type (personal, group channel, event). Includes both current and former group members for group contexts. Excludes blocked/muted users, deleted posts, and suspended users.

Endpoint: GET /api/v1/posts/{postId}/active-users
Version: 1.0
Security: 

## Path parameters:

  - `postId` (string, required)
    Post ID in the conversation (navigates to thread root automatically)
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

## Query parameters:

  - `lastId` (string,null)
    Get older records (records with IDs less than this value) Alias maxId/max_id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `limit` (integer,null)

  - `offset` (integer,null)

  - `sortBy` (string,null)
    Sort order: REPLY_COUNT (by number of replies) or LAST_POST (by most recent post)
    Enum: "REPLY_COUNT", "LAST_POST"

  - `sortOrder` (string,null)
    Sort order. Supported values: ASC or DESC

  - `untilId` (string,null)
    Get newer records (records with IDs greater than this value) Alias minId/min_id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

## Response 200 fields (application/json):

  - `users` (array, required)
    Active users in the thread

  - `users.userId` (string, required)
    User ID
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `users.avatar` (object,null)
    User's avatar upload

  - `users.avatar.uploadId` (string, required)
    Internal id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `users.avatar.uploaderId` (string,null)
    User who physically uploaded this file. Null for platform-owned uploads (e.g., default covers). This is an audit/meta field — use ownerId for authorization.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `users.avatar.ownerId` (string, required)
    Entity that owns this upload (user, channel/group, or event). TypeID prefix indicates the owner type.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `users.avatar.attachedToId` (string,null)
    Entity this upload is attached to (e.g., a post or event). NULL for standalone uploads like avatars, covers, or media library items.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `users.avatar.uploadType` (string, required)
    Type of the upload
    Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER"

  - `users.avatar.meta` (object)
    Meta data

  - `users.avatar.meta.blurhash` (string,null)

  - `users.avatar.meta.name` (string,null)

  - `users.avatar.meta.altText` (string,null)

  - `users.avatar.size` (integer, required)
    Size in bytes of all the files in this upload

  - `users.avatar.files` (array, required)
    List of all the files this upload has

  - `users.avatar.files.uri` (string,null, required)
    Full url of the file

  - `users.avatar.files.fileId` (string, required)
    File id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `users.avatar.files.extension` (string, required)
    File extension
    Example: "mp4"

  - `users.avatar.files.original` (boolean, required)
    true if this file is original, false if it is a derivative

  - `users.avatar.files.meta` (object, required)
    File metadata. Contains optional values for width, height etc.

  - `users.avatar.files.meta.duration` (number,null)
    Video duration in seconds

  - `users.avatar.files.meta.width` (integer,null)
    Media width

  - `users.avatar.files.meta.height` (integer,null)
    Media height

  - `users.avatar.files.meta.codec` (string,null)
    Video codec

  - `users.avatar.files.meta.rotate` (integer,null)
    Rotation in degrees

  - `users.avatar.files.size` (integer, required)
    File size in bytes

  - `users.avatar.files.createdAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `users.avatar.files.updatedAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `users.avatar.files.type` (string, required)
    File type
    Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER"

  - `users.avatar.tags` (array, required)
    List of tags attached to upload
    Enum: "Post", "Avatar", "Header", "Album", "Emoji", "Event"

  - `users.avatar.error` (string,null)
    Upload processing error

  - `users.avatar.cached` (boolean)
    true if cached

  - `users.avatar.logs` (string,null)
    Logs

  - `users.avatar.remote` (boolean)
    true if this upload is remote

  - `users.avatar.createdAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `users.avatar.updatedAt` (string, required)
    Example: "2022-03-10T16:15:50Z"

  - `users.replyCount` (integer, required)
    Number of replies by this user in the thread

  - `users.lastPostAt` (string, required)
    Timestamp of user's most recent post in the thread
    Example: "2022-03-10T16:15:50Z"

  - `count` (integer, required)
    Number of active users returned in this page

  - `totalCount` (integer, required)
    Total number of active users across all pages

## Response 403 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 404 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation


